The ability to market a product or service to individuals who are accessible on the Internet is becoming increasingly important. Email systems exist today for sending email to a target set of email addresses for purposes such as marketing, information acquisition, and otherwise. A system for sending email to a number of email targets for such purposes is called an email campaign.
In addition, the Internet provides the capability to provide services to customers without requiring them to install additional software on their local computers. Specifically, by exploiting the customer's web browser, all functional logic and all data can reside at a remote server rather than at the customer's local computer (i.e., the client). As such, the customer, via instructions submitted through web pages that are displayed in the web browser, can remotely invoke the functional logic to view, create, update, delete or otherwise modify the data residing on the remote server.
Furthermore, computer databases or similar constructions are powerful tools for storage, organization, retrieval and other handling of various types of information. However, there are different database models, or formats, for data access that are incompatible with each other, and may also be incompatible with, or remarkably different from, an object programming application. In this respect, complex relationships between objects present in the object programming application may be entirely absent in a relational or object database being accessed or updated. Nonetheless, many of these database types have achieved a high level of popularity and proliferation.
A distributed database is a database in which portions of the database are stored on multiple computers within a network. Users have access to the portion of the database at their location so that they can access the data relevant to their tasks without interfering with the work of others. A centralized distributed database management system (DDBMS) manages the database as if it were all stored on the same computer. The DDBMS synchronizes all the data periodically and, in cases where multiple users must access the same data, ensures that updates and deletes performed on the data at one location will be automatically reflected in the data stored elsewhere.
Collections of data such as in a database can be distributed across multiple physical locations. A distributed database is distributed into separate partitions and fragments. Each partition and fragment of a distributed database may be replicated. Besides distributed database replication and fragmentation, there are many other distributed database design technologies. For example, there are local autonomy, synchronous and asynchronous distributed database technologies. These technologies' implementation depends on the needs of the business and the sensitivity and confidentiality of the data to be stored in the database, and hence the price the business is willing to spend on ensuring data security, consistency and integrity. Also, a database server is the software managing a database, and a client is an application that requests information from a server. Each computer in a system is a node. A node in a distributed database system acts as a client, a server, or both, depending on the situation.
Furthermore, there are advantages of distributed databases. This is reflected in organizational structure. Database fragments are located in the departments they relate to. A department can control the data about them, giving them local autonomy. There is improved availability; a fault in one database system will only affect one fragment, instead of the entire database. Additionally, there is improved performance because data is located near the site of greatest demand and the database systems themselves are parallelized, allowing load on the databases to be balanced among servers. A high load on one module of the database will not affect other modules of the database in a distributed database.
From an economic standpoint, it costs less to create a network of smaller computers with the power of a single large computer. Also, systems can be modified, added and removed from the distributed database without affecting other modules (systems). However, increased complexity and a more extensive infrastructure means extra labor costs. Furthermore, remote database fragments must be secured, and they are not centralized so the remote sites must be secured as well. The infrastructure must also be secured (e.g., by encrypting the network links between remote sites).
Email service providers face problems. The solution is to have database administrators and application developers retain control over their data warehouse and marketers have the flexibility to change variables in their segmentation without making an additional request to the information technology (IT) staff. Businesses often struggle to maintain a working relationship between transactional and marketing data. Often, the data required to make decisions lives in a custom data warehouse which can only be queried via custom requirements in an on-demand fashion. Making transaction level data available directly to a marketer can be cause for concern for IT staff and often requires some knowledge about relational databases and how to interact with them.
Accordingly, there is a strong need for more efficient and flexible data collection from a third party to be applied to an existing database. There is a need for an internal system to make segmentation calls to other non-email service provider data sources and those sources, combined with client requirements. The present invention provides a solution to these needs and other problems, and offers other advantages over the prior art.